import { _decorator, Component, Node, SpriteFrame, Sprite, find } from 'cc';
import { hall } from './hall'; // 导入 hall 类
const { ccclass, property } = _decorator;

@ccclass('setup')
export class setup extends Component {    
    @property(SpriteFrame) // 用于保存图片的变量
    image: SpriteFrame[] = []; // 初始化为一个空数组

    @property(Sprite) // 用来保存 Sprite 组件的变量
    sprite: Sprite = null;

    private hallComponent: hall = null; // 用于存储 hall 组件的引用

    start() {
        this.sprite.spriteFrame = this.image[0];
        // 获取 hall 组件的引用
        this.hallComponent = find('Canvas').getComponent(hall);
    }

    update(deltaTime: number) {
        
    }

    closePrefab() { // 关闭预制体的函数
        this.node.active = false; // 将当前节点设置为不活动状态
    }

    toggleSpriteFrame() { // 切换 SpriteFrame 的函数
        if (this.sprite.spriteFrame === this.image[0]) { // 如果当前的 SpriteFrame 是 image[0]
            this.sprite.spriteFrame = this.image[1]; // 切换到 image[1]
            this.pauseBackgroundMusic(); // 暂停音乐
        } else { // 否则
            this.sprite.spriteFrame = this.image[0]; // 切换回 image[0]
            this.playBackgroundMusic(); // 播放音乐
        }
    }

    // 新增方法：播放背景音乐
    playBackgroundMusic() {
        if (this.hallComponent && this.hallComponent.backgroundMusic) {
            this.hallComponent.backgroundMusic.play();
        } else {
            console.warn('无法播放背景音乐：hall 组件或 backgroundMusic 未找到');
        }
    }

    // 新增方法：暂停背景音乐
    pauseBackgroundMusic() {
        if (this.hallComponent && this.hallComponent.backgroundMusic) {
            this.hallComponent.backgroundMusic.pause();
        } else {
            console.warn('无法暂停背景音乐：hall 组件或 backgroundMusic 未找到');
        }
    }
}


